第一节 SQL语言基础
目标:
掌握sql建表,CRUD常用语法;
能使用复杂的查询语句;
目 录
创建表:3
:3
:3
:4
:5
:5
:5
:6
:6
:6
:7
:7
:7
:7
:8
:9
:9
or查询:9
:9
:10
:11
:11
(组合)查询:12
:12
:13
:13
:14
:14
:14
:15
:16
:16
..更新表结构:16
:17
:17
:17
:17
:18
:18
总结和任务:19
一行好SQL,胜过万行程序!
:
:
,安装好后,从命令行登陆mysql:
在命令行输入mysql –u用户名 –p
然后根据提示输入密码,即登陆数据库:
登陆后,可以用show databases查看数据库中有哪些库:
其中的:
information_schema
mysql
test
这三个库是mysql安装后自带的,接下来,我们要创建自己的数据库来使用:
OK,我们自己创建的数据库名为netjavablog;要使用这个数据库,还必须再执行如下命令:
表示我们当前要使用的数据库是netjavaBlog。
OK,准备工作完毕,接下来开始练习sql语句:
:
如创建用户信息表:
创建成功后,显示表结构:
:
现在的Userinfo表结构如下:
向表中插入数据,要使用Insert语句,格式为:
Insert into 表名(列名1,列名2,…)values(值1,值2,…)
:
注意:插入时我们并没有写id列名和值,这个列值是由数据库自增长生成的,所以不需要写。
:
Userinfo表中的descre列充许不插入值,在sql插入数据时,就可以插入部分数据,如:
但如不插入name列的值,就会出错,因为name列中数据库中设定的是非空约束。
同样,也不能插入重复name列的值,你试下?
:
可以将另一个select的结果集插入到一张表中,例如数据库中temUser表结构如下:
其中插入了如下值:
要想把temuser中这三个列的所有值插入(复制)到userinfo表中,就可以使用如下语句:
注意:temuser和Userinfo表的三个字段名并不需要一致,但数据类型必须相同!
:
:
:
:
:
Truncate及delete的区别是:前者是物理删除,不支持事务!即删掉的数据是无法恢复的!所以在使用truncate时,要特别注意!
:
:
查询时,使用*会返回所有列,当然,你也可以如上示例,指定需要的列。
:
Order by 列名 desc|asc会对结果集进行升序或降序排列,如果要排列的列是字符串呢?
Select 语句后可以跟where子句指定查询条件,where条件中可以指定如下操作符:
说明
关键字
多重条件
And 、or
比较条件
=、>、<、!=、!>、!<、not+比较条件
是否在某一范围
In(<可选值集>)、not in(<可选值集>)
是否空值
Is null:某列为null
mysql语言基础 来自淘豆网m.daumloan.com转载请标明出处.