order语句是查询的顺序 ,
如 :
order by id desc(或asc)
顺序有两种 :
desc倒序(100—1,即从最新数据今后查询)
asc(从1-100),
Where和order语句也可用于查询select 与删除delete
删除表中的信息 :
删除整个表中的信息 :
delete from table_name;
删除表中指定条件的语句 :
delete from table_name where 条件语句 ; 条件语句如 : id=3;
创建数据库用户
一次可以创建多个数据库用户如:
CREATE USER username1 identified BY ‘password’ , username2 IDENTIFIED BY ‘password’….
用户的权限控制:grant库,表级的权限控制 : 将某个库中的某个表的控制权赋予某个用户
Grant all ON db_name.table_name TO user_name [ indentified by ‘password’ ];
表布局的修改
(1)增长一个字段格式:
alter table table_name add column (字段名 字段类型); ----此方法带括号
(2)指定字段插入的位置:
alter table table_name add column 字段名 字段类型 after 某字段;
删除一个字段:
alter table table_name drop字段名;
(3)修改字段名称/类型
alter table table_name change 旧字段名 新字段名 新字段的类型;
(4)改表的名字
alter table table_name rename to new_table_name;
(5)一次性清空表中的所有数据
truncate table table_name; 此方法也会使表中的取号器(ID)从1开始
增长主键,外键,束缚,索引。。。。(使用方法见17实例) ① 束缚(主键Primary key、唯一性Unique、非空Not Null)
② 主动增张 auto_increment
③外键Foreign key-----与reference table_name(col_name列名)配合使用,建表时单独使用
④ 删除多个表中有关联的数据----设置foreign key 为set null —具体设置参考资助文档
查察数据库当前引擎
SHOW CREATE TABLE table_name;
修改数据库引擎
ALTER TABLE table_name ENGINE=MyISAM | InnoDB;
SQL语句运用实例:
建users表
create table users (
id int primary key auto_increment,
nikename varchar(20) not null unique,
password varchar(100) not null,
address varchar(200),
reg_date timestamp not null default CURRENT_TIMESTAMP
);
复制代码
建articles表,在建表时设置外键
create table articles (
id int primary key auto_increment,
content longtext not null,
userid int,
constraint foreign key (userid) references users(id) on delete set null
);
复制代码
建articles表,建表时不设置外键
create table articles (
id int primary key auto_increment,
content longtext not null,
userid int
);
复制代码
给articles表设置外键
alter table articles add constraint foreign key (userid) references users(id) on delete set null;
复制代码
向users表中插入数据,同时插入多条
insert into users (id,nikename,password,address) values (1,'lyh1','1234',null),(10,'lyh22','4321','湖北武汉'),(null,'lyh333','5678', '北京海淀');
复制代码
向article中插入三条数据
insert into articles (id,content,userid) values (2,'hahahahahaha',11),(null,'xixixixixix',10),(13,'aiaiaiaiaiaiaiaiaiaiaiaia',1),(14,'hohoahaoaoooooooooo',10);
复制代码
进行多表查询,选择users表中ID=10的用户发布的所有留言及该用户的所有信息
select articles.id,articles.content,users.* from users,articles where users.id=10 and articles.userid=users.id order by articles.id desc;
复制代码
–6. 查察数据库引擎类型
show create table users; –7. 修改数据库引擎类型
alter table users engine=MyISAM; —由于users表中ID被设置成外键,实行此句会堕落
--8. 同表查询,已知一个条件的情况下.查询ID号大于用户lyh1的ID号的所有用户
select a.id,a.nikename,a.address from users a,users b where b.nikename='lyh1' and a.id>b.id;
------也可写成
select id,nikename,address from users where id>(select id from users where nikename='lyh1');
习题:
显示年事比领导还大的员工:
select a.name from users a,users b where a.managerid=b.id and a.age>b.age;
+----------------+| Tables_in_test |+----------------+| users |+----------------+1 row in set (0.00 sec)
复制代码
更改表的字符集。
mysql> alter table users character set GBK;
Query OK, 3 rows affected (0.08 sec)
Records: 3 Duplicates: 0 Warnings: 0
复制代码
查察表的布局:
mysql> show create users;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'users' at line 1
mysql> show create table users;
| Table | Create Table|| users |
CREATE TABLE users (
userid int(11) default NULL,
username char(20) character set latin1 default NULL
在DOS方式下,运行: d:mysqlbinmysql
出现: mysql 的提示符,此时已进入mysql的交互操作方式。
如果出现 "ERROR 2003: Can′t connect to MySQL server on ′localhost′ (10061)“,
分析你的MySQL还没有启动。
3、退出MySQL操作界面
(留意:和上面不同,下面的由于是MYSQL环境中的命令,以是后面都带一个分号作为命令结束符)
格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”
1、增长一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。起首用root用户连入MYSQL,然后键入以下命令:
grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;
1、文本数据应符合的格式:字段数据之间用tab键隔开,null值用//n来取代.例:
3 rose 大连二中 1976-10-10
4 mike 大连一中 1975-12-23
假设你把这两组数据存为school.txt文件,放在c盘根目录下。
数据传入命令 load data local infile “c://school.txt” into table 表名;
留意:你最好将文件复制到//mysql//bin目录下,并且要先用use命令打表地点的库。
五、备份数据库
注:不加 -d 和 -t 则既导出布局,也导出数据
mysqldump导出抛出非常:
mysqldump: Got error: 1044: Access denied for user ‘username’@‘%’ to
database ‘dbname’ when using LOCK TABLES
解决办法,添加参数 --skip-lock-tables: