一。
XAMPP 集成的数据库 mysql 启动时命令找不到数据库,所以把绝对路径写全:
/Applications/XAMPP/bin/mysql -u root -p
或者 将命令引过去
ln -s /applications/xampp/bin/mysql /usr/bin
否则 终端 恢复 command not found
二.
基本操作:
1、显示数据库show databases; 2、选择数据库use 数据库名;
3、显示数据库中的表show tables; 4、显示数据表的结构describe 表名; 5、显示表中记录SELECT * FROM 表名 6、建库 create databse 库名;
7、建表create table 表名 (字段设定列表); mysql> create table name( -> id int auto_increment not null primary key , -> uname char(8), -> gender char(2), -> birthday date ); Query OK, 0 rows affected (0.03 sec) mysql> show tables; +------------------+ | Tables_in_userdb | +------------------+ | name | +------------------+ 1 row in set (0.00 sec) mysql> describe name; +----------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+---------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | uname | char(8) | YES | | NULL | | | gender | char(2) | YES | | NULL | | | birthday | date | YES | | NULL | | +----------+---------+------+-----+---------+----------------+ 4 rows in set (0.00 sec) 注: auto_increment 自增 primary key 主键 8、增加记录insert into name(uname,gender,birthday) values('张三','男','1971-10-01'); 9、修改记录update name set birthday='1971-01-10' where uname='张三'; 10、删除记录delete from name where uname='张三'; 11、删除表drop table 表名 12、删除库drop database 库名; 13、备份数据库mysqldump -u root -p --opt 数据库名>备份名; //进入到库目录 14、恢复mysql -u root -p 数据库名<备份名; //恢复时数据库必须存在,可以为空数据库 15、数据库授权格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码" 例1、增加一个用户user001密码为123456,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令: mysql> grant select,insert,update,delete on *.* to user001@"%" Identified by "123456";
例2、增加一个用户user002密码为123456,让此用户只可以在localhost上登录,也可以设置指定IP,并可以对数据库test进行查询、插入、修改、删除的操作 (localhost指本地主机,即MySQL数据库所在的那台主机) //这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过MYSQL主机来操作test库。 mysql>grant select,insert,update,delete on test.* to user002@localhost identified by "123456";
注: 其次也可以采用修改表的方式,处理用户的登录方式: 数据库: Mysql
三。
1.登录数据库
>mysql -u root -p 数据库名称 2.查询所有数据表 >show tables; 3.查询表的字段信息 >desc 表名称; 4.1.修改某个表的字段类型及指定为空或非空 >alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空]; >alter table 表名称 modify 字段名称 字段类型 [是否允许非空]; 4.2.修改某个表的字段名称及指定为空或非空 >alter table 表名称 change 字段原名称 字段新名称 字段类型 [是否允许非空]; 例如: 修改表expert_info中的字段birth,允许其为空 >alter table expert_info change birth birth varchar(20) null;
四。 设置外键
表A和表B都存在c列,现在表B中的c列是主键,想把表A的c设置为外键引用表B的c列,语法该怎么写
ALTER TABLE b ADD CONSTRAINT c FOREIGN KEY(c) REFERENCES a(c) ON DELETE CASCADE ON UPDATE CASCADE;
五。修改表/表属性
alter table test rename test1; --修改表名
持续更新~
|