SQL-增删改查

从增山改查开始,增删改查都是从数据库,数据表,数据三个维度展开。

新增

新增数据库

CREATE DATABASE dbname;

新增表

CREATE TABLE table_name(

column_name1 data_type(size),

column_name2 data_type(size),

column_name3 data_type(size),

....

);

-- 在列定义的后面可以加字段约束,设置主外键等

新增记录数据

第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:

INSERT INTO table_name

VALUES (value1,value2,value3,...);

第二种形式需要指定列名及被插入的值:

INSERT INTO table_name (column1,column2,column3,...)

VALUES (value1,value2,value3,...);

注意:第一种方法省略了列名时需要插入的所有列都有值,第二种的插入的列和值是一一对应的,可以有缺失的列。

删除

删除数据库

DROP DATABASE database_name

删除表

删除表有两种操作:1.删除表和表中的数据

DROP TABLE table_name

2.删除表中的数据,保留表结构

TRUNCATE TABLE table_name

删除记录数据

DELETE FROM table_name

WHERE some_column=some_value;

修改

修改数据库

修改数据库的操作有点复杂,具体步骤:1.查看数据库的连接数 2.关闭所有数据库连接 3.将数据库改成单用户模式 4.修改数据库名 5.将修改后的数据库改成非单用户

select spid from master.dbo.sysprocesses where dbid=db_id('OldDbName')

-- 结果集中显示的是当前连接到数据库OldDbName的连接,比如结果是

79

81

-- 然后执行

kill 79

kill 81

-- 关闭已建立的连接,之后再执行

EXEC sp_dboption 'OldDbName', 'Single User', 'TRUE'

-- 设置成单用户,防止修改名字时有其他用户在操作数据库造成死锁

EXEC sp_renamedb 'OldDbName', 'NewDbName'

EXEC sp_dboption 'NewDbName', 'Single User', 'FALSE'

修改表

-- 在表中添加列

ALTER TABLE table_name ADD column_name datatype

-- 删除表中的列

ALTER TABLE table_nameDROP COLUMN column_name

-- 修改列名

ALTER TABLE table_name RENAMW column_name TO new_column_name

-- 修改列数据类型

ALTER TABLE table_nameMODIFY COLUMN column_name datatype

修改记录数据

UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value;

注意:更新记录数据时一般要加上条件限制更新的行,不加条件限制会默认更新表中所有记录。

查询

查询数据库

show databases

查询表

-- 查看当前数据库下的所有表
show TABLES

-- 查看表的结构

desc table_name

查询数据

-- 按列查找
SELECT column_name,column_name FROM table_name;

-- 查找所有列,* 通配符表示所有

SELECT * FROM table_name

你可能感兴趣的:(SQL-增删改查)