mysql> create table student(stuId int primary key auto_increment,name varchar(22
),age int);
-> ;
-> //
Query OK, 0 rows affected (0.06 sec)
,还有创建存储过程也是要这样的
delimiter //
create procedure insert_Student (_name varchar(50),_age int ,out _id int)
begin
insert into student value(null,_name,_age);
select max(stuId) into _id from student;
end;
//
delimiter后面的//和end后面的//不能少,少了就不行,真是奇怪啊
请问为什么今天突然在mysql命令行里面创建表要//结束才行啊,以前好像不需要啊
答案:2 悬赏:30 手机版
解决时间 2021-02-02 18:36
- 提问者网友:捧腹剧
- 2021-02-02 14:22
最佳答案
- 五星知识达人网友:duile
- 2021-02-02 14:38
那是因为你执行过delimiter //,把定界符设置为//
使用delimiter ; 来恢复.
使用delimiter ; 来恢复.
全部回答
- 1楼网友:像个废品
- 2021-02-02 15:55
第一步:安装mysql客户端
当然你得确保mysql客户端已经安装完毕。如果没有的话,可以按照下面的方法。
在debian,ubuntu 或者 linux mint上:
$ sudo apt-get install mysql-client
$ sudo apt-get install mysql
第二步:登陆到mysql服务器
首先,你需要使用root用户登陆进你的mysql数据库,如下:
$ mysql -u root -h -p
请注意:为了能登进远程的mysql服务器,你需要开启服务器上的远程访问,如果你想调用同一主机上的mysql服务器,你可以省略 "-h " 参数
$ mysql -u root -p
你将需要输入mysql服务器的密码,如果认证成功,mysql提示将会出现。
第三步:创建一个mysql数据库
在mysql提示中输入命令之前,请记住所有的命令都是以分号结束的(否则将不会执行)。另外,考虑输入命令的时候使用大些字母,输入数据库对象使用小写字母。但那不是必须的,只是方便的阅读。
现在,创建一个叫做xmodulo_db的数据库:
mysql> create database if not exists xmodulo_db;
第四步:创建一个数据库表
为了达到演示的目的,创建一个叫做posts_tbl的表,表里会存储关于文章的如下信息:
文章的标题
作者的名字
作者的姓
文章可用或者不可用
文章创建的日期
这个过程分两步执行:
首先,选择需要使用的数据库:
mysql> use xmodulo_db;
然后,在数据库中创建新表:
mysql> create table 'posts_tbl' (
'post_id' int unsigned not null auto_increment,
'content' text,
'author_firstname' varchar(100) not null,
'author_lastname' varchar(50) default null ,
'isenabled' tinyint(1) not null default 1,
'date' timestamp not null default current_timestamp ,
primary key ( 'post_id' )
type = myisam;
第五步:创建一个用户,并授予权限
当涉及到访问新创的数据库和表的时候,创建一个新用户是一个很好的主意。这样做就可以让用户在没有整个mysql服务器权限的情况下,去访问那个数据库(而且只能是那个数据库)
你可以创建新用户,授予权限,并且使改变生效:
mysql> grant all privileges on xmodulo_db.* to 'new_user'@'%' identified by 'new_password';
mysql> flush privileges;
'newuser'和'newpassword'分别指的是新的用户名和他的密码。这条信息将会被保存在mysql.user表中,而且密码会被加密。
第六步:测试
先插入一个虚拟的记录到posts_tbl表:
mysql> use xmodulo_db;
mysql> insert into posts_tbl (content, author_firstname, author_las tname)
values ('hi! this is some dummy text.', 'gabriel', 'canepa');
然后查看posts_tbl表中的所有记录:
mysql> select * from posts_tbl;
注意:mysql会在先前定义的地方自动插入适当的默认值(比如,'isenabled'和'date')。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯